1. Field of the Invention
The present invention generally relates to the design of computer display layout managers and, more particularly, to a method for arranging display elements to improve screen appearance, especially when displaying the components on a screen of unknown size.
2. Background Description
Layout managers are computing tools for arranging xe2x80x9celementsxe2x80x9d in a computer display. Elements are pictures, buttons, blocks of text, or other graphics which may be passive or active. Passive elements are for viewing only. Active elements may cause a change in appearance or behavior when stimulated by the action of a person viewing the display. These are the fundamental, abstract components of every display-based human-computer interface.
Layout managers function by finding the size of the elements of the display and positioning them according to a predetermined method. A state of the art layout manager may query a state of the art element for minimum, maximum and preferred size. These element properties are typically stored in a look-up table or coded into the description of the element. Some layout managers align their elements in a row or a column. Others assign elements to a predetermined area, such as the top, bottom, left, right, or center.
When a layout manager arranges elements, it often creates areas not occupied by any element. This is especially true if the elements are not uniform in size. Layout managers will typically enlarge elements in one dimension to fill the unused areas. A layout manager which places a narrow element above a wide element might make the narrow element wider to keep the elements uniform in width. That action may leave the narrow element with more height than it requires.
To illustrate the problem, consider the following. We have a title element whose content is xe2x80x9cAutoLoan Exchange.xe2x80x9d The element preferably stacks the words xe2x80x9cAutoLoanxe2x80x9d above the word xe2x80x9cExchange.xe2x80x9d It is eight characters wide and two lines high. A layout manager assigns a wider, thirty-character width. Now, the entire title fits on one line, but the element height remains at two lines.
Poor packing of display elements gives a poor aesthetic impression, wastes space available on the screen, and impairs understanding of the interface. The appearance and layout of a user interface must be aesthetically pleasing to excite interest while functioning to clearly present what the user expects and what is expected of the user. Accordingly, authors invest a large amount of time hand crafting the layout of each screen in an application, at high cost per screen.
In many applications, it is not possible to craft the user interface to the available screen size because that size is not known in advance. Windowing systems confine applications to frames which the user may resize. Personal Information Devices (PIDs) have various display sizes and resolutions. User interfaces in windowing systems and on PIDs must adapt to changes in the width and height available for display.
The layout managers used in Web browsers have these problems, and do so poorly that many Web page designers often resort to the use of tables to control the layout behavior. This is costly in terms of time and effort involved in producing Web content.
It is therefore an object of the invention to provide a layout manager that reduces the need to hand-craft the layout of application screens.
The present invention is able to rearrange elements according to the shape of the available area. It helps interface designers create user interfaces which work well on multiple devices and in resizeable windows. The invention uses height-for-width and width-for-height trade-offs to resize elements.
It is another object of the invention to provide a layout manager that automatically adapts to changes in the size of the display by customizing the display elements based on available height and width of the display area. Thus, the present invention reduces the need to hand-craft the layout of the application screens.
The invention is also useful where a layout manager must adapt to the display of many different devices. Personal Information Devices (PIDs), for example, have displays which vary greatly in size and in aspect ratio. A designer creating an application for PIDs has no opportunity to hand-craft the screens for each display. Only an automatic method, as made possible by the present invention, will solve the problems which occur as the size of the target display area changes.
It is an object of the invention to function with elements in the prior art. If the layout manager must interact with applications that have not been enhanced to interact with the improved layout manager, it uses an algorithm already existing in the state of the art to arrange the display.